package com.ys.entity.sys;

import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="YS_Menu", catalog="Id")
public class YsMenu extends BaseEntity<YsMenu> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Pid", nameJava="pid", typeDataBase="bigint")
	private Long pid;
	@YsField(nameDataBase="Lev", nameJava="lev", typeDataBase="tinyint")
	private Integer lev;
	@YsField(nameDataBase="TempletType", nameJava="templetType", typeDataBase="varchar")
	private String templetType;
	@YsField(nameDataBase="TempletPath", nameJava="templetPath", typeDataBase="varchar")
	private String templetPath;
	@YsField(nameDataBase="Name", nameJava="name", typeDataBase="varchar")
	private String name;
	@YsField(nameDataBase="DataBaseTable", nameJava="dataBaseTable", typeDataBase="varchar")
	private String dataBaseTable;
	@YsField(nameDataBase="SortNo", nameJava="sortNo", typeDataBase="int")
	private Integer sortNo;
	@YsField(nameDataBase="NameShiroAuth", nameJava="nameShiroAuth", typeDataBase="varchar")
	private String nameShiroAuth;
	@YsField(nameDataBase="FlowModelId", nameJava="flowModelId", typeDataBase="bigint")
	private Long flowModelId;
	@YsField(nameDataBase="PathGridRequest", nameJava="pathGridRequest", typeDataBase="varchar")
	private String pathGridRequest;
	@YsField(nameDataBase="PathGridEditRequest", nameJava="pathGridEditRequest", typeDataBase="varchar")
	private String pathGridEditRequest;
	@YsField(nameDataBase="PathGridExportRequest", nameJava="pathGridExportRequest", typeDataBase="varchar")
	private String pathGridExportRequest;
	@YsField(nameDataBase="PathCommitAdd", nameJava="pathCommitAdd", typeDataBase="varchar")
	private String pathCommitAdd;
	@YsField(nameDataBase="PathCommitEdit", nameJava="pathCommitEdit", typeDataBase="varchar")
	private String pathCommitEdit;
	@YsField(nameDataBase="PathCommitDelete", nameJava="pathCommitDelete", typeDataBase="varchar")
	private String pathCommitDelete;
	@YsField(nameDataBase="PathFlowPass", nameJava="pathFlowPass", typeDataBase="varchar")
	private String pathFlowPass;
	@YsField(nameDataBase="PathFlowRefuse", nameJava="pathFlowRefuse", typeDataBase="varchar")
	private String pathFlowRefuse;
	@YsField(nameDataBase="PathFlowInit", nameJava="pathFlowInit", typeDataBase="varchar")
	private String pathFlowInit;
	@YsField(nameDataBase="GridId", nameJava="gridId", typeDataBase="bigint")
	private Long gridId;
	@YsField(nameDataBase="Icon", nameJava="icon", typeDataBase="varchar")
	private String icon;
	@YsField(nameDataBase="RowClickGridId", nameJava="rowClickGridId", typeDataBase="bigint")
	private Long rowClickGridId;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public YsMenu setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getPid() {
		return pid;
	}
	public YsMenu setPid(Long pid) {
		this.pid = pid;
		return this;
	}
	public Integer getLev() {
		return lev;
	}
	public YsMenu setLev(Integer lev) {
		this.lev = lev;
		return this;
	}
	public String getTempletType() {
		return templetType;
	}
	public YsMenu setTempletType(String templetType) {
		this.templetType = templetType;
		return this;
	}
	public String getTempletPath() {
		return templetPath;
	}
	public YsMenu setTempletPath(String templetPath) {
		this.templetPath = templetPath;
		return this;
	}
	public String getName() {
		return name;
	}
	public YsMenu setName(String name) {
		this.name = name;
		return this;
	}
	public String getDataBaseTable() {
		return dataBaseTable;
	}
	public YsMenu setDataBaseTable(String dataBaseTable) {
		this.dataBaseTable = dataBaseTable;
		return this;
	}
	public Integer getSortNo() {
		return sortNo;
	}
	public YsMenu setSortNo(Integer sortNo) {
		this.sortNo = sortNo;
		return this;
	}
	public String getNameShiroAuth() {
		return nameShiroAuth;
	}
	public YsMenu setNameShiroAuth(String nameShiroAuth) {
		this.nameShiroAuth = nameShiroAuth;
		return this;
	}
	public Long getFlowModelId() {
		return flowModelId;
	}
	public YsMenu setFlowModelId(Long flowModelId) {
		this.flowModelId = flowModelId;
		return this;
	}
	public String getPathGridRequest() {
		return pathGridRequest;
	}
	public YsMenu setPathGridRequest(String pathGridRequest) {
		this.pathGridRequest = pathGridRequest;
		return this;
	}
	public String getPathGridEditRequest() {
		return pathGridEditRequest;
	}
	public YsMenu setPathGridEditRequest(String pathGridEditRequest) {
		this.pathGridEditRequest = pathGridEditRequest;
		return this;
	}
	public String getPathGridExportRequest() {
		return pathGridExportRequest;
	}
	public YsMenu setPathGridExportRequest(String pathGridExportRequest) {
		this.pathGridExportRequest = pathGridExportRequest;
		return this;
	}
	public String getPathCommitAdd() {
		return pathCommitAdd;
	}
	public YsMenu setPathCommitAdd(String pathCommitAdd) {
		this.pathCommitAdd = pathCommitAdd;
		return this;
	}
	public String getPathCommitEdit() {
		return pathCommitEdit;
	}
	public YsMenu setPathCommitEdit(String pathCommitEdit) {
		this.pathCommitEdit = pathCommitEdit;
		return this;
	}
	public String getPathCommitDelete() {
		return pathCommitDelete;
	}
	public YsMenu setPathCommitDelete(String pathCommitDelete) {
		this.pathCommitDelete = pathCommitDelete;
		return this;
	}
	public String getPathFlowPass() {
		return pathFlowPass;
	}
	public YsMenu setPathFlowPass(String pathFlowPass) {
		this.pathFlowPass = pathFlowPass;
		return this;
	}
	public String getPathFlowRefuse() {
		return pathFlowRefuse;
	}
	public YsMenu setPathFlowRefuse(String pathFlowRefuse) {
		this.pathFlowRefuse = pathFlowRefuse;
		return this;
	}
	public String getPathFlowInit() {
		return pathFlowInit;
	}
	public YsMenu setPathFlowInit(String pathFlowInit) {
		this.pathFlowInit = pathFlowInit;
		return this;
	}
	public Long getGridId() {
		return gridId;
	}
	public YsMenu setGridId(Long gridId) {
		this.gridId = gridId;
		return this;
	}
	public String getIcon() {
		return icon;
	}
	public YsMenu setIcon(String icon) {
		this.icon = icon;
		return this;
	}
	public Long getRowClickGridId() {
		return rowClickGridId;
	}
	public YsMenu setRowClickGridId(Long rowClickGridId) {
		this.rowClickGridId = rowClickGridId;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public YsMenu setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public YsMenu setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public YsMenu setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static YsMenu ysMenu(
		Long pid,
		Integer lev,
		String templetType,
		String templetPath,
		String name,
		String dataBaseTable,
		Integer sortNo,
		String nameShiroAuth,
		Long flowModelId,
		String pathGridRequest,
		String pathGridEditRequest,
		String pathGridExportRequest,
		String pathCommitAdd,
		String pathCommitEdit,
		String pathCommitDelete,
		String pathFlowPass,
		String pathFlowRefuse,
		String pathFlowInit,
		Long gridId,
		String icon,
		Long rowClickGridId,
		Integer status
			) {
		YsMenu entity = new YsMenu();
		entity.setPid(pid);
		entity.setLev(lev);
		entity.setTempletType(templetType);
		entity.setTempletPath(templetPath);
		entity.setName(name);
		entity.setDataBaseTable(dataBaseTable);
		entity.setSortNo(sortNo);
		entity.setNameShiroAuth(nameShiroAuth);
		entity.setFlowModelId(flowModelId);
		entity.setPathGridRequest(pathGridRequest);
		entity.setPathGridEditRequest(pathGridEditRequest);
		entity.setPathGridExportRequest(pathGridExportRequest);
		entity.setPathCommitAdd(pathCommitAdd);
		entity.setPathCommitEdit(pathCommitEdit);
		entity.setPathCommitDelete(pathCommitDelete);
		entity.setPathFlowPass(pathFlowPass);
		entity.setPathFlowRefuse(pathFlowRefuse);
		entity.setPathFlowInit(pathFlowInit);
		entity.setGridId(gridId);
		entity.setIcon(icon);
		entity.setRowClickGridId(rowClickGridId);
		entity.setStatus(status);
		return entity;
	}
}